Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

PHP5.Глава 47. Templier: Cannot find the layout for (have you defined @Layout block?) (Super Sergey)
Author Message
Super Sergey
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat May 21, 2005 12:24 pm (написано за 1 минуту 29 секунд)
   Post subject: PHP5.Глава 47. Templier: Cannot find the layout for (have you defined @Layout block?)
Reply with quote

Ошибка при загрузке тестовго сайта по URL localhost/templier.
Если URL localhost/templier/index.html - всё ок.
Обработчик .html прописан в .htaccess.
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Sat May 21, 2005 4:28 pm (спустя 4 часа 3 минуты; написано за 33 секунды)
   Post subject:
Reply with quote

Версия PHP какая?
В виде модуля или в виде CGI?

У меня работает в mod_php4 и cgi-php5.
Back to top
View user's profile Send private message Send e-mail
Super Sergey
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat May 21, 2005 5:39 pm (спустя 1 час 11 минут; написано за 1 минуту 36 секунд)
   Post subject:
Reply with quote

PHP 5.0.0.0 и 5.0.3.3, в ввиде cgi

в дебагере $_SERVER['REQUEST_URI'] == '' (processRequest::Subsys_Templier_ApacheHandler)
Back to top
Super Sergey
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat May 21, 2005 7:10 pm (спустя 1 час 30 минут; написано за 47 секунд)
   Post subject:
Reply with quote

Как модуль - работает, как cgi - нет.
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon May 23, 2005 12:00 am (спустя 1 день 4 часа 50 минут; написано за 1 минуту 56 секунд)
   Post subject:
Reply with quote

Значит, это баг.
Но мне его не удается воспроизвести пока...

Вообще, похоже на то, что в скрипте никак нельзя определить, когда какой метод вызова скрипта используется. А именно, запускается ли он как TemplierHandler.php?arguments или как TemplierHandler.php/arguments. Второй способ работает только в mod_php4, а также в PHP5 (не работает в cgi_php4). Первый - соответственно, работает везде, но - он не такой безопасный и удобный. Отсюда и проблемы.
Back to top
View user's profile Send private message Send e-mail
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Jun 03, 2005 4:07 pm (спустя 11 дней 16 часов 6 минут; написано за 3 минуты 19 секунд)
   Post subject: Не могу никак запустить примеры с шаблонизатором
Reply with quote

У меня PHP 4.3.11
вроде как CGI (Server API: CGI/FastCGI)

Может стоить переставить как модуль(не совсем представляю как это сделать)?
Хотел поизучать php по вашей книге и сделать сайтик используя шаблонизатор да вот чот не получается
Что посоветуете сделать?
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri Jun 03, 2005 4:39 pm (спустя 32 минуты; написано за 9 секунд)
   Post subject:
Reply with quote

Поставьте как модуль, конечно.
Back to top
View user's profile Send private message Send e-mail
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Jun 03, 2005 4:48 pm (спустя 9 минут; написано за 18 секунд)
   Post subject:
Reply with quote

Подскажите плиз как? если не трудно?
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Fri Jun 03, 2005 5:10 pm (спустя 21 минуту; написано за 9 секунд)
   Post subject:
Reply with quote

denwer.ru
Back to top
View user's profile Send private message Send e-mail
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Jun 06, 2005 4:28 pm (спустя 2 дня 23 часа 18 минут; написано за 7 минут 40 секунд)
   Post subject:
Reply with quote

Я не хочу себе Дэнвер устанавливать :)
Перечитал тут немного на выходных я так понимаю нужно в httpd.conf для apache добавить пару строк, что я и сделал добавив:
LoadModule php4_module "c:/program files/php/php4apache.dll" и
AddModule mod_php4.c
Но apache после перезагрузки не хочет стартовать спотыкаясь на первой строчке, я так понимаю он ищет модуль php4_module в папке "...\apache2\modules\" нет такого модула и вообще в апаче не нашел файлов *php*.*
Может как-то нужно отдельно его туда дописывать?
У меня у провайдера стоит версия PHP 4.3.11 я бы хотел и на своем комп-ре максимально приблизить настройки, поэтому с 5 версией экспер-ть пока не хочу... ваш шаблонизатор не поддается к установке...
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Jun 06, 2005 4:43 pm (спустя 14 минут; написано за 29 секунд)
   Post subject:
Reply with quote

MikhailN wrote:
Я не хочу себе Дэнвер устанавливать
И README-файлы и файлы с инструкциями по установки из дистрибутива PHP тоже не хотите читать?
М-да...
Back to top
View user's profile Send private message Send e-mail
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Jun 08, 2005 1:44 pm (спустя 1 день 21 час 30 секунд; написано за 11 минут 39 секунд)
   Post subject:
Reply with quote

Ну отчего же я прочитал и все что в ваших книгах про установку php написано (php4\php5) и install.txt в папке php. Какие именно readme файлы вы имели ввиду я не понял может еще что-то есть почитать я не знаю, но идея установки понятна: добавляешь в конфигур-й файл апача соотв-щие записи для того или иного типа установки и делаешь доступными dll файлы php, чтобы апач мог их найти, я прописал в PATH соотв-щие пути добавил записи в httpd.conf, но при старте апач спотыкаеться об эти записи и не запускается, я уже просто не знаю где копать поэтому и обращаюсь к профи за советом...

Ну даже дело не в этом я закинул папку templier на сервер к провайдеру где php установлен как модуль и попробовал запустить, там тоже не работает ваш шаблонизатор
единственное что поменял в файле /.htaccess запись
"AddHandler application/x-httpd-php5 php" на "AddHandler application/x-httpd-php php"
(так как у провайдера php стоит версии 4.3.11, а не 5)

-- при открытии страницы /templier/index.html выходит сообщение от ISA сервера ---
64 - Host not available
Internet Security and Acceleration Server
...
The gateway has lost the connection with the Web site you are trying to access.
-----------
т.е. страницу он находит, но открыть не может
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 08, 2005 1:50 pm (спустя 5 минут; написано за 25 секунд)
   Post subject:
Reply with quote

MikhailN wrote:
ISA сервера
MikhailN wrote:
Host not available
Ну и при чем тут шаблонизатор?

Хотя бы какой-нибудь обычный php-скрипт там запускается?
Back to top
View user's profile Send private message Send e-mail
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Jun 08, 2005 2:04 pm (спустя 14 минут; написано за 1 минуту 46 секунд)
   Post subject:
Reply with quote

конечно другие примеры (не из templier) запускаются, я уж не совсем деревня
(например /test.pfp c phpinfo(); выдает все о php и т.п.)
Back to top
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Jun 08, 2005 2:15 pm (спустя 11 минут; написано за 2 минуты 3 секунды)
   Post subject:
Reply with quote

точнее даже так:
не запускаются файлы *.html из папки templier файлы *.php в ней же прекрасно отображаются
*.html передаются шаблонизатору - соотв-но я и полагаю, что что-то с шаблонизатором не так, а не с настройками
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Jun 08, 2005 5:24 pm (спустя 3 часа 8 минут; написано за 17 секунд)
   Post subject:
Reply with quote

А Вы смотрели логи сервера? Что там пишется насчет причины ошибок?
Back to top
View user's profile Send private message Send e-mail
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Jun 29, 2005 8:52 am (спустя 20 дней 15 часов 28 минут; написано за 8 минут 37 секунд)
   Post subject:
Reply with quote

Это снова я (по коммандировкам пришлось покататься не было времени вас помучить :))
Дома все-таки разобрался убил php и заново переставил как модуль - шаблонизатор заработал.
Но не работает у провайдера и логи посмотреть у него не могу. Пытался в /templier/.htaccess добавить что-то типа:
<virtualhost myhost>
 ErrorLog /templier/error.log
</virtualhost>
При попытке открыть выходит сообщение о неверном конфигур-нии сервера
Через phpinfo сравнил настройки php у меня и у провайдера есть много отличий, пытаюсь методом тыка выловить какой из параметров мешает шаблонизатору работать, но пока безуспешно, может сможете подсказать?
У провайдера
Server API: Apache (у меня Apache 2.0 Handler )
Thread Safety: disabled (enabled)
allow_call_time_pass_reference: off (on)
disable_functions: dl, shell_exec, exec, system, passthru, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, set_time_limit

ну и т.д. уж все не буду переписывать...
Back to top
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Jun 29, 2005 9:54 am (спустя 1 час 2 минуты; написано за 48 секунд)
   Post subject:
Reply with quote

параметры все проверил - никак не влияют..
вероятно дело в версии apache у меня 2.0.54 у провайдера Apache/1.3.33 (Unix)
Может такое быть?
Back to top
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Jun 29, 2005 4:31 pm (спустя 6 часов 36 минут; написано за 2 минуты 31 секунду)
   Post subject:
Reply with quote

Докапался до логов провайдера
При попытке открыть страницу шаблонизатора выдает такие вот ошибки:
-------
[Wed Jun 29 17:21:48 2005] [error] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/.../... .ru/www/templier/WEBINF/lib/Subsys/Templier/Main.php on line 218
[Wed Jun 29 17:21:48 2005] [error] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of call_user_func(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/.../... .ru/www/templier/WEBINF/lib/Subsys/Templier/Main.php on line 316
[Wed Jun 29 17:21:48 2005] [error] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of call_user_func(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/.../... .ru/www/templier/WEBINF/lib/Subsys/Templier/Main.php on line 328
[Wed Jun 29 17:21:49 2005] [error] PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 43 bytes) in /home/.../... .ru/www/templier/WEBINF/lib/File/Path.php on line 49
Back to top
MikhailN
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Jul 04, 2005 8:55 am (спустя 4 дня 16 часов 23 минуты; написано за 1 минуту 12 секунд)
   Post subject:
Reply with quote

Игнорируете? :-/
Не хотите помочь разобраться с вашим шаблонизатором?
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Sep 14, 2005 5:13 pm (спустя 2 месяца 10 дней 8 часов 17 минут; написано за 43 секунды)
   Post subject:
Reply with quote

Ну Вы же сами видите, какие ошибки происходят. Возьмите документацию PHP и исправьте:
1. Включите call-time pass-by-reference через ini_set();
2. Попросите хостера увеличить память для скрипта.
Back to top
View user's profile Send private message Send e-mail
Zebra1
Заглянувший



Joined: 09 Feb 2006
Posts: 1
Карма: 1
   поощрить/наказать


PostPosted: Mon Feb 13, 2006 12:48 am (спустя 4 месяца 28 дней 7 часов 35 минут; написано за 1 минуту 39 секунд)
   Post subject:
Reply with quote

Похоже на ошибку - если в .common блок @Layout поместить на последней строчке и не делать перевода строки на новую, то templier выдаст Templier: Cannot find the layout for /templier/index.html (have you defined @Layout block?)
Впрочем, похоже это относится ко всем блокам.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML